package vista;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import modelo.ClienteDTO;
import modelo.CuentaCorrienteDTO;
import controlador.Banco;

public class ventanaNuevaCC extends JFrame {

	private static final long serialVersionUID = 1L;
	private Banco banco;
	private JPanel panel;
	private JLabel lblDNI;
	private JTextField txtDNI;
	private JLabel lblDescubierto;
	private JTextField txtDescubierto;
	private JButton btnAceptar;
	private JButton btnCancelar;

	public ventanaNuevaCC(Banco banco) {
		super();
		this.banco = banco;
		cargarVentana();
		establecerAcciones();
	}

	private void establecerAcciones() {
		btnAceptar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				ClienteDTO cDTO = banco.buscarCliente(
						Integer.parseInt(txtDNI.getText())).crearClienteDTO();
				
				if (cDTO != null) {
					CuentaCorrienteDTO ccDTO = banco.crearCuentaCorriente(
							Integer.parseInt(txtDNI.getText()),
							Float.parseFloat(txtDescubierto.getText()));
					if(ccDTO!=null){
						ventanaVerCC verCC = new ventanaVerCC(ccDTO);
						verCC.setVisible(true);
					}
				}else{
					JOptionPane.showMessageDialog(null, "El Cliente con DNI "
                            + txtDNI.getText()+" "
                            + " no existe", "Error",
                            JOptionPane.ERROR_MESSAGE);
				}
			}
		});
		
		btnCancelar.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent evt){
				setVisible(false);
			}
		});

	}

	private void cargarVentana() {
		setSize(400, 550);
		setVisible(true);
		panel = new JPanel();
		panel.setBounds(getBounds());
		panel.setLayout(null);
		lblDNI = new JLabel("DNI");
		lblDNI.setBounds(20, 90, 80, 25);
		panel.add(lblDNI);
		txtDNI = new JTextField();
		txtDNI.setBounds(100, 90, 290, 25);
		panel.add(txtDNI);
		lblDescubierto = new JLabel("Descubierto");
		lblDescubierto.setBounds(20, 120, 80, 25);
		panel.add(lblDescubierto);
		txtDescubierto = new JTextField();
		txtDescubierto.setBounds(100, 120, 290, 25);
		panel.add(txtDescubierto);
		btnAceptar = new JButton("Aceptar");
		btnAceptar.setBounds(90, 450, 90, 25);
		panel.add(btnAceptar);
		btnCancelar = new JButton("Cancelar");
		btnCancelar.setBounds(200, 450, 90, 25);
		panel.add(btnCancelar);
		this.add(panel);
	}

}
